// 窗口加载完
window.onload = function () {
    // 创建Vue对象
    var vue = new Vue({
        el : '#app', // 元素绑定
        data : { // 数据模型(变量专区 嘻嘻)
            dataList : [], // 定义数组，接收后台响应数据
            entity:{},
            page:1,//当前页码
            pages:0,//总页数
            searchEntity:{},//搜索条件封装
            ids:[],//复选框选中的id数组
            checked:false//全选复选框是否选中
        },
        methods : { // 定义操作方法
            search : function(page){ // 搜索方法
                // 发送异步请求
                axios.get("/brand/findByPage?page="+page,
                    {params:this.searchEntity}	)
                    .then(function(response){
                        // 获取响应数据
                        vue.dataList = response.data.rows;
                        //设置总页数
                        vue.pages=response.data.pages;
                        //设置当前页码
                        vue.page=page;
                        //设置ids数组为空
                        vue.ids=[];
                    });
            },
            saveOrUpdate:function () {//添加或修改
                //发送新增或修改异步请求
                var url ="save";
                if (this.entity.id){
                    url="update"; //修改
                }
                axios.post("/brand/"+url,this.entity).then(function (response) {
                    if (response.data){
                        //操作成功(因为后台返回的是true)
                        vue.search(vue.page);
                    }else {
                        //失败提醒
                        alert("操作失败");
                    }

                });
            },
            show:function (entity) {
                //把entity对象转化成json字符串
                var jsonStr= JSON.stringify(entity)
                //把json字符串转换成一个新的json对象
                this.entity =JSON.parse(jsonStr);
            },
            /*jsonArr2Str:function (jsonArrStr) {
                var jsonArr = JSON.parse(jsonArrStr);
                //定义新数组
                var resArr =[];
                for (var i = 0; i <jsonArrStr.length ; i++) {
                    var json = jsonArr[i];
                    resArr.push(json.text);

                }
                return resArr.join(",");
            },*/
            checkAll:function (e) {
                this.ids =[];
                if (e.target.checked) {//判断复选框是否选中
                    for (var i = 0; i <this.dataList.length ; i++) {
                        this.ids.push(this.dataList[i].id);
                    }
                }
            },
            del:function () {//删除
                if (this.ids.length > 0) {
                    axios.get("/brand/delete?ids="+this.ids).then(function (response) {
                        if (response.data){
                            //计算当前页码(如果删除为整页查询上一页)
                            var page =vue.checked? vue.page-1:vue.page;
                            //重新加载数据
                            vue.search(page);
                        }else {
                            alert("删除失败!");
                        }
                    });
                }else{
                    alert("请选择要删除的记录!")
                }

            }


        },
        created : function () { // 创建生命周期(初始化方法)
            // 调用搜索方法
            this.search(this.page);

        },
        updated:function () {
            //检查全选checkbox是否选中
            this.checkbox = (this.ids.length==this.dataList.length);
        }

    });
};